package com.atguigu.gmall.realtime.util;

import java.util.concurrent.LinkedBlockingDeque;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/**
 * @Author lizhenchao@atguigu.cn
 * @Date 2021/10/8 14:07
 */
public class ThreadPoolUtil {
    public static ThreadPoolExecutor getThreadPool(){
        return new ThreadPoolExecutor(
            100, // 线程池内核心线程数
            300, // 最大线程数
            30, // 空闲线程的存活时间
            TimeUnit.SECONDS, // 单位
            new LinkedBlockingDeque<>(50) // 当没有空闲线程可用的时候, 提交的任务会存入这个阻塞队列
        );
    }
}
